﻿
namespace SistemaLogistica.Business.Logic
{
    using System;
    using System.Collections.Generic;
    using SistemaLogistica.Business.Entities;
    using SistemaLogistica.DataAccess;

    public class UnidadMedidaManager
    {
        private UnidadMedidaManager() { }

        private static readonly UnidadMedidaManager instancia = new UnidadMedidaManager();

        public static UnidadMedidaManager Instancia
        {
            get { return instancia; }
        }

        public List<UnidadMedidia> Listar()
        {
            try
            {
                return UnidadMedidiaData.Instancia.Listar();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public List<UnidadMedidia> Buscar(string nombre)
        {
            try
            {
                return UnidadMedidiaData.Instancia.Buscar(nombre);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public UnidadMedidia ObtenerPorID(int id)
        {
            try
            {
                return UnidadMedidiaData.Instancia.ObtenerPorID(id);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public UnidadMedidia ObtenerPorNombre(string nombre)
        {
            try
            {
                return UnidadMedidiaData.Instancia.ObtenerPorNombre(nombre);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public int Agregar(UnidadMedidia unidadMedida)
        {
            try
            {
                return UnidadMedidiaData.Instancia.Agregar(unidadMedida);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Modificar(UnidadMedidia unidadMedida)
        {
            try
            {
                UnidadMedidiaData.Instancia.Modificar(unidadMedida);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Eliminar(int idUnidadMedidia)
        {
            try
            {
                UnidadMedidiaData.Instancia.Eliminar(idUnidadMedidia);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
